<?php
class Libreria_Autenticar implements Zend_Auth_Adapter_Interface {
	
	private $_username;
	private $_password;
	
	public function __construct($username, $password) {
		$this->_username = $username;
		$this->_password = $password;
	}
	
	/*
	 * @return Zend_Auth_Result|Zend_Auth_Result
	 */
	
	public function authenticate() {
		$parametros[] = array('@pv1',$this->_username);
		$parametros[] = array('@pv2',$this->_password);
		
		$cn = new Model_Database_Datos();
		$acceso = $cn->ejecutasql('bdaudit.dbo.pxw_mlogout', $parametros , false);
//		echo '<script type="text/javascript">alert("'.$parametros[0][1].' - '.$parametros[1][1].' -  '.$acceso[0][0].'");</script>';
		if (count($acceso)>0){
			if((int) $acceso[0][2] == 1){
			 	
				$login = new Zend_Session_Namespace('login');
				$login->user = $parametros[0][1];	/** Usuario **/
				$login->pass = $parametros[1][1];	/** Clave   **/
				$login->name = $acceso[0][3];		/** Nombre  **/
				$login->iduser = $acceso[0][0];		/** Id      **/
				$login->codarea=$acceso[0][4]; /** IdArea **/
				$login->area=$acceso[0][5]; /** Area **/
				$login->codusuario=$acceso[0][6]; /** CodUsuario **/
				$login->rootmenu = '000000000548';
				
				$result = new Zend_Auth_Result ( Zend_Auth_Result::SUCCESS, $acceso[0], array ("Ok" ) );
			} else{
				$result = new Zend_Auth_Result ( Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, null, array ("Usuario Inhabilitado." ) );
			}
		} else{
			$result = new Zend_Auth_Result ( Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND, null, array ("Datos Incorrectos." ) );
		}
		
		return $result;
	}
}